package kku.cs.util;

import java.util.Vector;

public class StringUtil {
	static public String[] split(String src, String delimeter) {
		Vector<String> v = new Vector<String>();
		int p1 = 0;
		int p2 = 0;

		while ((p2 = src.indexOf(delimeter, p1)) >= p1) {
			v.add(src.substring(p1, p2).trim());
			p1 = p2 + 1;
		}
		if (p1 < src.length()) {
			v.add(src.substring(p1).trim());
		}
		return v.toArray(new String[v.size()]);
	}

	static public boolean inarray(int x, int a[]) {
		for (int i = 0; i < a.length; i++) {
			if (a[i] == x)
				return true;
		}
		return false;
	}

	static public String[] split(String src, int... delimeter) {
		Vector<String> v = new Vector<String>();
		char[] data = src.toCharArray();
		String s = "";
		for (int i = 0; i < data.length; i++) {
			if (data[i] == '"') {
				i++;
				while (data[i] != '"' && i < data.length) {
					s = s + data[i];
					i++;
				}
				continue;
			}
			if (data[i] == '\'') {
				i++;
				while (data[i] != '\'' && i < data.length) {
					s = s + data[i];
					i++;
				}
				continue;
			}

			if (inarray(data[i], delimeter)) {
				v.add(s);
				s = "";
			} else {
				s = s + data[i];
			}
		}
		v.add(s);
		return v.toArray(new String[v.size()]);
	}

	static public void main(String[] a) {

		String v[] = split("('xx,xx',2,3)", ',', '(', ')');
		for (String s : v) {
			System.out.println(s);
		}
	}
}
